home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / graphics / qrt.lzh / USERMAN.DOC < prev    next >
Text File  |  1989-02-16  |  35KB  |  991 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.         
  9.                                 QRT Users Manual
  10.         
  11.         
  12.         INTRODUCTION
  13.         
  14.         QRT (Quick Ray Tracer) is an easy  to use image generation system
  15.         that uses a ray tracing algorithm  for image rendering.  Versions
  16.         exist for the Amiga personal  computer  and Data General MV10000.
  17.         QRT overcomes many of the problems of other ray tracing packages,
  18.         and is designed to operate nicely in a multi-tasking environment.
  19.         
  20.         
  21.         COMPARISON TO OTHER SYSTEMS
  22.         
  23.         QRT was developed on the Amiga  personal  computer, so it will be
  24.         compared to other Amiga ray tracers.  There are, to my knowledge,
  25.         five other Amiga ray  tracers,  each  with  its own strengths and
  26.         weaknesses.  I will describe each  system briefly, and compare it
  27.         to QRT.  All the  Amiga  ray  tracers  can  operate  in HAM (4096
  28.         color) mode.
  29.         
  30.            RT: RT was the first ray tracer written for the Amiga, by Eric
  31.                Graham.  It will model a universe  made of only spheres, a
  32.                sky, and a checkered or  solid  ground.   It is relatively
  33.                fast, but not  generally  useful  for  realistic  modeling
  34.                because of the sphere  limitation.   The input language is
  35.                cryptic, although some error checking is done.  The system
  36.                will only generate low resolution images.
  37.         
  38.           SILVER: I have never seen  SILVER,  so  I cannot say much about
  39.                this system.
  40.         
  41.           SCULPT-3D: This package incorporates  an interactive editor for
  42.                creating objects, and is  capable  of quickly generating a
  43.                preliminary image of  the  scene  by  using hidden surface
  44.                techniques.  However, every primitive is made of polygons,
  45.                and some primitives such as  spheres  require  hundreds of
  46.                polygons for a smooth texture,  so the ray tracing is very
  47.                slow.  Also, the package takes a large amount of memory to
  48.                run, and is prone to system crashes.  Its chief feature is
  49.                the ability to  create  arbitrary  shaped  objects using a
  50.                series of triangles.  Mirrored, dull, or shiny objects are
  51.                supported.
  52.         
  53.           CLIGHT: This ray tracer  also  has  an  interactive editor, but
  54.                produces very poor quality  images.   It is not capable of
  55.                any patterning or reflection characteristics.
  56.         
  57.  
  58.  
  59.  
  60.         QRT Ray Tracer               Page 1                   User Manual
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.           DBW: This is possibly the  most  complete  ray  tracer  for the
  74.                Amiga.  It will support objects  with arbitrary degrees of
  75.                reflection  and  gloss,   depth  of  field  effects,  some
  76.                texturing, wavy surfaces, fractals,  transparent surfaces,
  77.                diffuse propagation of light from  object to object, and 5
  78.                primitive types (sphere, triangle, parallelogram, fractal,
  79.                and ring).  The input language,  however, is so cryptic as
  80.                to be nearly  incomprehensible,  and if there is any error
  81.                in the input file, it will  crash  the system.  It is also
  82.                painfully  slow;  some  images  take  16  to  24  hours to
  83.                complete.
  84.         
  85.         QRT is meant to be  a  compromise  between  the  fast, simple ray
  86.         tracers and the slow powerful systems.   It compares favorably in
  87.         speed to RT, and in power  to  Sculpt-3d  or  DBW.  It has a very
  88.         friendly input language with extensive  error checking.  Here are
  89.         some features of QRT:
  90.         
  91.             o  Multiple primitive types, including user defined quadratic
  92.                surfaces
  93.         
  94.             o  Arbitrary   levels   of   diffuse   reflection,   spectral
  95.                reflection, transmission, ambient lighting, and gloss
  96.         
  97.             o  User defined pattern information for objects
  98.         
  99.             o  Bounding boxes for groups of objects
  100.         
  101.             o  Shadows
  102.         
  103.             o  Multiple light sources with different characteristics
  104.         
  105.             o  Arbitrary Phong spectral reflection coefficients
  106.         
  107.             o  Color dithering to increase the apparent number of colors
  108.         
  109.             o  Easy  to  use,  free  format  input  language  with  error
  110.                checking.  Parameters are by keyword and may appear in any
  111.                order.
  112.         
  113.             o  Supports medium resolution (128k dots/screen)
  114.         
  115.         Each of these features of QRT will be discussed is greater detail
  116.         in this document.
  117.         
  118.         
  119.         
  120.         THE QRT WORLD
  121.         
  122.         QRT constructs an  image  of  the  world  by  performing  certain
  123.         manipulations  on  an  internal  representation  of  a  group  of
  124.  
  125.  
  126.         QRT Ray Tracer               Page 2                   User Manual
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.         objects.  You must provide a description  of these objects to QRT
  140.         through the QRT input language.
  141.         
  142.         QRT writes a machine independent bitmap file which can be read by 
  143.         a computer specific post  processor.   The  post processor either
  144.         displays the  image  or  converts  it  into  the  proper form for
  145.         display  by  system   programs.     (See  the  Machine  Dependent
  146.         Information section of this manual for details).
  147.         
  148.         QRT is capable of dealing  with  5  types  of  primitive objects:
  149.         spheres,   parallelograms,   triangles,   rings   (annulus),  and
  150.         quadratic  surfaces.   The  latter  can  be  used to model cones,
  151.         oblong spheroids, and other interesting  surfaces.  Each of these
  152.         objects can have an arbitrary orientation in space, and arbitrary
  153.         surface characteristics.
  154.         
  155.         
  156.         
  157.         QRT INPUT LANGUAGE
  158.         
  159.         The QRT input language is free  format,  in  that commands may be
  160.         placed anywhere on a line,  and  newlines  may  be  placed at any
  161.         point.  This makes it easy to use indentation.  Comments are also
  162.         supported by surrounding  text  with  curly  braces  '{' and '}'.
  163.         Comments may span lines.
  164.         
  165.         Once a file with QRT commands is built  (using any available text
  166.         editor), qrt can be made to process these commands:
  167.         
  168.             QRT <commands.qrt
  169.         
  170.         where "commands.qrt" is the file containing  the input.  QRT also
  171.         produces some statistics, so this  output can also be redirected.
  172.         Since QRT runs for a long time, you  will probably want to run it
  173.         as a background task with a low  priority.   So,  the full set of
  174.         commands to run QRT would be:
  175.         
  176.             SetTaskPriority -5
  177.             run QRT <commands.qrt >qrt.out
  178.             SetTaskPriority 0
  179.         
  180.         This set of commands is specific to  the Commodore Amiga; see the
  181.         Machine Dependent  Information  section  of  the manual for other
  182.         operating systems.
  183.         
  184.         QRT will write a very large file, which may be anywhere from 400K 
  185.         to  4  megabytes  depending  on  the  specific  computer  display
  186.         resolution.  (See the Machine  Dependent  Information  section of
  187.         this manual for the exact file  size).   There should be at least
  188.         enough room on your disk to  accommodate  this  file. I recommend
  189.         sending the output to a RAM disk,  so that the physical disk does
  190.  
  191.  
  192.         QRT Ray Tracer               Page 3                   User Manual
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.         not get used for 60 minutes while QRT computes the image.
  206.         
  207.         A typical QRT  command  to  create  a  sphere  using  the default
  208.         surface attributes would, be:
  209.         
  210.             SPHERE ( loc = (5,10,100)     { this is a white sphere }
  211.                      radius = 12.5
  212.                    )
  213.         
  214.         For comparison, the sphere command for DBW looks like this:
  215.         
  216.             s 0 0 0 1 0 0 0 .2 .2 .2 .8 .8 .8 5 10 100 12.5
  217.         
  218.         Or, in R